package com.etalk.crm.dao;

import com.etalk.crm.pojo.Store;
import com.etalk.crm.pojo.User;
import com.etalk.crm.pojo.UserSelect;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author Jordan
 */
@Mapper
public interface UserMapper {
    /**
     * 登录用户查询信息
     * @param loginNamePwdToken 登录名和密码md5加密字符串(登录名大写处理)
     * @return 登录人信息
     */
    User selectLoginInfoByLoginNamePwdToken(@Param("loginNamePwdToken") String loginNamePwdToken);

    /**
     * 查询ssc列表
     * @return
     */
    List<User> selectSSc();

    /**
     * 修改用户密码
     * @param userId 用户id
     * @param oldPwd 旧密码
     * @param newPwd 新密码
     * @return 修改记录数
     */
    int updatePassword(@Param("userId")Integer userId,@Param("oldPwd")String oldPwd,@Param("newPwd")String newPwd);

    /**
     *
     * @param roleList  cc  ssc  各自的角色  列表
     * @return
     */
    List<User> ccSscList(@Param("roleList")List<Integer> roleList);

    /**
     * 根据店铺id查询 cc  ssc
     * @param storesId 门店id
     * @return 用户列表
     */
    List<User>selectCcByStoresId(@Param("storesId")int storesId);

    /**
     * 根据店铺id查询 cc  ssc
     * @param storesId 门店id
     * @return 用户列表
     */
    List<User>selectSscByStoresId(@Param("storesId")int storesId);

    /**
     * 查询所有cc和ssc
     * @return 用户列表
     */
    List<User>selectCcOrSscByStoresId();

     /*学员信息 ssc sec 列表
     * @Author James//TODO
     * @Date 14:19 2019/1/9
     * @Param
     * @return
     **/
    List<User> sscAndSecList();

     /**学员信息 cc 列表
     * @Author James//TODO
     * @Date 14:19 2019/1/9
     * @Param
     * @return
     **/
    List<User> ccList(Map<String,Object>map);

     /*学员信息 bcc 列表
     * @Author James//TODO
     * @Date 14:19 2019/1/9
     * @Param
     * @return
     **/
    List<User> bccList();

    /**
     * 查询中教课程列表
     * @return
     */
    List<User> ltList();


    List<User> selectUserNameAndIdList(@Param("storeId")Integer storesId,@Param("list")List<Integer> listRoleId);

    User selectByPrimaryKey(Integer id);

    /**
     * 查询cc列表
     * @return
     */
    List<UserSelect> selectCcList();

    /**
     * 查询ssc列表
     * @return
     */
    List<UserSelect> selectSscList();

    /**
     * 查询店铺id，名称
     * @return
     */
    List<Store> selectStoreList();
}
